glxcopycontext - Man Page






glXCopyContext(3G)	    OpenGL Reference - GLX	    glXCopyContext(3G)



NAME
     glXCopyContext - copy state from one rendering context to another


C SPECIFICATION
     void glXCopyContext( Display *dpy,
			  GLXContext src,
			  GLXContext dst,
			  GLuint mask )


PARAMETERS
     dpy   Specifies the connection to the X server.


     src   Specifies the source	context.


     dst   Specifies the destination context.


     mask  Specifies which portions of src state are to	be copied to dst.


DESCRIPTION
     glXCopyContext copies selected groups of state variables from src to dst.
     mask indicates which groups of state variables are	to be copied.  mask
     contains the bitwise OR of	the same symbolic names	that are passed	to the
     OpenGL command glPushAttrib.  The single symbolic constant
     GL_ALL_ATTRIB_BITS	can be used to copy the	maximum	possible portion of
     rendering state.

     The copy can be done only if the renderers	named by src and dst share an
     address space.  Two rendering contexts share an address space if both are
     nondirect using the same server, or if both are direct and	owned by a
     single process.  Note that	in the nondirect case it is not	necessary for
     the calling threads to share an address space, only for their related
     rendering contexts	to share an address space.

     Not all values for	OpenGL state can be copied.  For example, pixel	pack
     and unpack	state, render mode state, and select and feedback state	are
     not copied.  The state that can be	copied is exactly the state that is
     manipulated by OpenGL command  glPushAttrib.

     An	implicit glXFlush is done by glXCopyContext if src is the current
     context for the calling thread.


NOTES
     Two rendering contexts share an address space if both are nondirect using
     the same server, or if both are direct and	owned by a single process.




									Page 1






glXCopyContext(3G)	    OpenGL Reference - GLX	    glXCopyContext(3G)



     A process is a single execution environment, implemented in a single
     address space, consisting of one or more threads.

     A thread is one of	a set of subprocesses that share a single address
     space, but	maintain separate program counters, stack spaces, and other
     related global data.  A thread that is the	only member of its subprocess
     group is equivalent to a process.


ERRORS
     BadMatch is generated if rendering	contexts src and dst do	not share an
     address space or were not created with respect to the same	screen.

     BadAccess is generated if dst is current to any thread (including the
     calling thread) at	the time glXCopyContext	is called.

     GLXBadCurrentWindow is generated if src is	the current context and	the
     current drawable is a window that is no longer valid.

     GLXBadContext is generated	if either src or dst is	not a valid GLX
     context.

     BadValue is generated if undefined	mask bits are specified.



SEE ALSO
     glPushAttrib, glXCreateContext, glXIsDirect



























									Page 2